package com.dces.jx.billtest.dto.xwManageHead;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import lombok.Getter;
import lombok.Setter;
import com.xdo.validation.annotation.XdoSize;
/**
 *
 * @author xdoV2.0
 * @date: 2021-9-7
 */
@Setter @Getter
@ApiModel(value = "传入参数")
public class DcBillHeadXwtParam implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
    * 主键
    */
	@ApiModelProperty("主键")
    private String sid;
	/**
     * 经营单位编码
     */
	@XdoSize(max = 10, message = "经营单位编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("经营单位编码")
	private  String tradeCode;
	/**
     * 账册编号
     */
	@XdoSize(max = 12, message = "账册编号长度不能超过12位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("账册编号")
	private  String emsNo;
	/**
     * 企业内部编号
     */
	@XdoSize(max = 64, message = "企业内部编号长度不能超过64位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("企业内部编号")
	private  String emsListNo;
	/**
     * 清单流水号
     */
	@XdoSize(max = 18, message = "清单流水号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("清单流水号")
	private  String billListNo;
	/**
     * 核注清单编号
     */
	@XdoSize(max = 18, message = "核注清单编号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("核注清单编号")
	private  String listNo;
	/**
     * 报关申报企业编码
     */
	@ApiModelProperty("报关申报企业编码")
	private  String agentCode;
	/**
     * 报关单申报单位代码(商检)
     */
	@ApiModelProperty("报关单申报单位代码(商检)")
	private  String agentCodeCiq;
	/**
     * 报关申报企业社会信用代码
     */
	@XdoSize(max = 18, message = "报关申报企业社会信用代码长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("报关申报企业社会信用代码")
	private  String agentCreditCode;
	/**
     * 报关申报企业名称
     */
	@XdoSize(max = 256, message = "报关申报企业名称长度不能超过256位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("报关申报企业名称")
	private  String agentName;
	/**
     * 提运单号
     */
	@XdoSize(max = 32, message = "提运单号长度不能超过32位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("提运单号")
	private  String billNo;
	/**
     * 变更次数
     */
	@Digits(integer = 9, fraction = 0, message = "变更次数必须为数字,整数位最大9位,小数最大0位!")
	@ApiModelProperty("变更次数")
	private  Integer changeTimes;
	/**
     * 清单归类
     */
	@ApiModelProperty("清单归类")
	private  String classifyType;
	/**
     * 价格影响确认
     */
	@ApiModelProperty("价格影响确认")
	private  String confirmPrice;
	/**
     * 支付特许权使用费确认
     */
	@ApiModelProperty("支付特许权使用费确认")
	private  String confirmRoyalties;
	/**
     * 特殊关系确认
     */
	@ApiModelProperty("特殊关系确认")
	private  String confirmSpecial;
	/**
     * 合同协议号
     */
	@XdoSize(max = 32, message = "合同协议号长度不能超过32位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("合同协议号")
	private  String contrNo;
	/**
     * 征免性质
     */
	@XdoSize(max = 3, message = "征免性质长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("征免性质")
	private  String cutMode;
	/**
     * 报关标志
     */
	@ApiModelProperty("报关标志")
	private  String dclcusMark;
	/**
     * 报关类型
     */
	@ApiModelProperty("报关类型")
	private  String dclcusType;
	/**
     * 申报地海关
     */
	@ApiModelProperty("申报地海关")
	private  String declCustoms;
	/**
     * 申报单位编码
     */
	@XdoSize(max = 10, message = "申报单位编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("申报单位编码")
	private  String declareCode;
	/**
     * 清单申报日期
     */
	@ApiModelProperty("清单申报日期")
	private  Date declareDate;
	/**
    * 清单申报日期-开始
    */
	@ApiModelProperty("清单申报日期-开始")
	private String declareDateFrom;
	/**
    * 清单申报日期-结束
    */
	@ApiModelProperty("清单申报日期-结束")
    private String declareDateTo;
	/**
     * 申报类型
     */
	@XdoSize(max = 1, message = "申报类型长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("申报类型")
	private  String declareType;
	/**
     * 启运港
     */
	@ApiModelProperty("启运港")
	private  String despPort;
	/**
     * 经停港/指运港
     */
	@ApiModelProperty("经停港/指运港")
	private  String destPort;
	/**
     * 核算代码
     */
	@XdoSize(max = 4, message = "核算代码长度不能超过4位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("核算代码")
	private  String duCode;
	/**
     * 自报自缴
     */
	@ApiModelProperty("自报自缴")
	private  String dutySelf;
	/**
     * 报关单申报日期
     */
	@ApiModelProperty("报关单申报日期")
	private  Date entryDeclareDate;
	/**
    * 报关单申报日期-开始
    */
	@ApiModelProperty("报关单申报日期-开始")
	private String entryDeclareDateFrom;
	/**
    * 报关单申报日期-结束
    */
	@ApiModelProperty("报关单申报日期-结束")
    private String entryDeclareDateTo;
	/**
     * 报关单编号
     */
	@XdoSize(max = 18, message = "报关单编号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("报关单编号")
	private  String entryNo;
	/**
     * 入境口岸/离境口岸
     */
	@ApiModelProperty("入境口岸/离境口岸")
	private  String entryPort;
	/**
     * 报关状态
     */
	@ApiModelProperty("报关状态")
	private  String entryStatus;
	/**
     * 报关单类型
     */
	@ApiModelProperty("报关单类型")
	private  String entryType;
	/**
     * 运费币制
     */
	@ApiModelProperty("运费币制")
	private  String feeCurr;
	/**
     * 运费标记，&#x27;1&#x27;率;&#x27;2&#x27;单价;&#x27;3&#x27;总价
     */
	@ApiModelProperty("运费标记，&#x27;1&#x27;率;&#x27;2&#x27;单价;&#x27;3&#x27;总价")
	private  String feeMark;
	/**
     * 运费／率
     */
	@Digits(integer = 12, fraction = 4, message = "运费／率必须为数字,整数位最大12位,小数最大4位!")
	@ApiModelProperty("运费／率")
	private  BigDecimal feeRate;
	/**
     * 运费备注
     */
	@XdoSize(max = 30, message = "运费备注长度不能超过30位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("运费备注")
	private  String feeRateNote;
	/**
     * 正式核扣时间
     */
	@ApiModelProperty("正式核扣时间")
	private  Date formalVrfdedDate;
	/**
     * 料件成品标志
     */
	@ApiModelProperty("料件成品标志")
	@JsonProperty("gMark")
	private  String gMark;
	/**
     * 毛重(公斤)
     */
	@Digits(integer = 14, fraction = 5, message = "毛重(公斤)必须为数字,整数位最大14位,小数最大5位!")
	@ApiModelProperty("毛重(公斤)")
	private  BigDecimal grossWt;
	/**
     * 进出口日期
     */
	@ApiModelProperty("进出口日期")
	@JsonProperty("iEDate")
	private  Date iEDate;
	/**
     * 进出口标记
     */
	@XdoSize(max = 1, message = "进出口标记长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("进出口标记")
	@JsonProperty("iEMark")
	private  String iEMark;
	/**
     * 进境关别/出境关别
     */
	@ApiModelProperty("进境关别/出境关别")
	@JsonProperty("iEPort")
	private  String iEPort;
	/**
     * 申报人IC卡号
     */
	@XdoSize(max = 20, message = "申报人IC卡号长度不能超过20位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("申报人IC卡号")
	private  String icCardNo;
	/**
     * 入库时间
     */
	@ApiModelProperty("入库时间")
	private  Date indbTime;
	/**
     * 录入企业编码
     */
	@XdoSize(max = 10, message = "录入企业编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("录入企业编码")
	private  String inputCode;
	/**
     * 录入企业社会信用代码
     */
	@XdoSize(max = 18, message = "录入企业社会信用代码长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("录入企业社会信用代码")
	private  String inputCreditCode;
	/**
     * 录入日期
     */
	@ApiModelProperty("录入日期")
	private  Date inputDate;
	/**
    * 录入日期-开始
    */
	@ApiModelProperty("录入日期-开始")
	private String inputDateFrom;
	/**
    * 录入日期-结束
    */
	@ApiModelProperty("录入日期-结束")
    private String inputDateTo;
	/**
     * 录入单位名称
     */
	@XdoSize(max = 50, message = "录入单位名称长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("录入单位名称")
	private  String inputName;
	/**
     * 保险费币制
     */
	@ApiModelProperty("保险费币制")
	private  String insurCurr;
	/**
     * 保险费标记，&#x27;1&#x27;率;&#x27;2&#x27;单价;&#x27;3&#x27;总价
     */
	@ApiModelProperty("保险费标记，&#x27;1&#x27;率;&#x27;2&#x27;单价;&#x27;3&#x27;总价")
	private  String insurMark;
	/**
     * 保险费／率
     */
	@Digits(integer = 12, fraction = 4, message = "保险费／率必须为数字,整数位最大12位,小数最大4位!")
	@ApiModelProperty("保险费／率")
	private  BigDecimal insurRate;
	/**
     * 保费备注
     */
	@XdoSize(max = 30, message = "保费备注长度不能超过30位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("保费备注")
	private  String insurRateNote;
	/**
     * 许可证号
     */
	@XdoSize(max = 20, message = "许可证号长度不能超过20位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("许可证号")
	private  String licenseNo;
	/**
     * 清单进出卡口状态
     */
	@XdoSize(max = 1, message = "清单进出卡口状态长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("清单进出卡口状态")
	private  String listIochkptStatus;
	/**
     * 清单类型
     */
	@ApiModelProperty("清单类型")
	private  String listType;
	/**
     * 主管海关
     */
	@XdoSize(max = 4, message = "主管海关长度不能超过4位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("主管海关")
	private  String masterCustoms;
	/**
     * 归并类型
     */
	@ApiModelProperty("归并类型")
	private  String mergeType;
	/**
     * 净重(公斤)
     */
	@Digits(integer = 14, fraction = 5, message = "净重(公斤)必须为数字,整数位最大14位,小数最大5位!")
	@ApiModelProperty("净重(公斤)")
	private  BigDecimal netWt;
	/**
     * 备注
     */
	@XdoSize(max = 256, message = "备注长度不能超过256位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("备注")
	private  String note;
	/**
     * 本地备注1
     */
	@XdoSize(max = 255, message = "本地备注1长度不能超过255位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("本地备注1")
	private  String note1;
	/**
     * 本地备注2
     */
	@XdoSize(max = 255, message = "本地备注2长度不能超过255位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("本地备注2")
	private  String note2;
	/**
     * 本地备注3
     */
	@XdoSize(max = 255, message = "本地备注3长度不能超过255位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("本地备注3")
	private  String note3;
	/**
     * 原始清单流水号
     */
	@XdoSize(max = 20, message = "原始清单流水号长度不能超过20位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("原始清单流水号")
	private  String oriBillListNo;
	/**
     * 杂费币制
     */
	@ApiModelProperty("杂费币制")
	private  String otherCurr;
	/**
     * 杂费标志，&#x27;1&#x27;率;&#x27;2&#x27; 单价;&#x27;3&#x27;总价
     */
	@XdoSize(max = 1, message = "杂费标志，&#x27;1&#x27;率;&#x27;2&#x27; 单价;&#x27;3&#x27;总价长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("杂费标志，&#x27;1&#x27;率;&#x27;2&#x27; 单价;&#x27;3&#x27;总价")
	private  String otherMark;
	/**
     * 杂费／率
     */
	@Digits(integer = 12, fraction = 4, message = "杂费／率必须为数字,整数位最大12位,小数最大4位!")
	@ApiModelProperty("杂费／率")
	private  BigDecimal otherRate;
	/**
     * 杂费备注
     */
	@XdoSize(max = 30, message = "杂费备注长度不能超过30位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("杂费备注")
	private  String otherRateNote;
	/**
     * 境外发货人;境外收货人代码
     */
	@XdoSize(max = 50, message = "境外发货人;境外收货人代码长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("境外发货人;境外收货人代码")
	private  String overseasShipperAeo;
	/**
     * 境外发货人/境外收货人
     */
	@XdoSize(max = 256, message = "境外发货人/境外收货人长度不能超过256位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("境外发货人/境外收货人")
	private  String overseasShipperName;
	/**
     * 件数
     */
	@Digits(integer = 9, fraction = 0, message = "件数必须为数字,整数位最大9位,小数最大0位!")
	@ApiModelProperty("件数")
	private  Integer packNum;
	/**
     * 核放单生成标志代码
     */
	@XdoSize(max = 1, message = "核放单生成标志代码长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("核放单生成标志代码")
	private  String passportUsedMark;
	/**
     * 清单预录入统一编号
     */
	@XdoSize(max = 18, message = "清单预录入统一编号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("清单预录入统一编号")
	private  String preSeqNo;
	/**
     * 预核扣时间
     */
	@ApiModelProperty("预核扣时间")
	private  Date preVrfdedDate;
	/**
     * 加工单位编码
     */
	@XdoSize(max = 10, message = "加工单位编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("加工单位编码")
	private  String receiveCode;
	/**
     * 消费使用单位/生产消费单位
     */
	@XdoSize(max = 10, message = "消费使用单位/生产消费单位长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("消费使用单位/生产消费单位")
	private  String receiveCodeCiq;
	/**
     * 加工单位社会信用代码
     */
	@XdoSize(max = 18, message = "加工单位社会信用代码长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("加工单位社会信用代码")
	private  String receiveCreditCode;
	/**
     * 加工单位名称
     */
	@XdoSize(max = 50, message = "加工单位名称长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("加工单位名称")
	private  String receiveName;
	/**
     * 关联手(账)册编号
     */
	@XdoSize(max = 12, message = "关联手(账)册编号长度不能超过12位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联手(账)册编号")
	private  String relEmsNo;
	/**
     * 关联报关单申报单位编码
     */
	@XdoSize(max = 10, message = "关联报关单申报单位编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单申报单位编码")
	private  String relEntryDeclareCode;
	/**
     * 关联报关单申报单位社会统一信用代码
     */
	@XdoSize(max = 18, message = "关联报关单申报单位社会统一信用代码长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单申报单位社会统一信用代码")
	private  String relEntryDeclareCreditCode;
	/**
     * 关联报关单申报单位名称
     */
	@XdoSize(max = 50, message = "关联报关单申报单位名称长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单申报单位名称")
	private  String relEntryDeclareName;
	/**
     * 关联报关单编号
     */
	@XdoSize(max = 18, message = "关联报关单编号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单编号")
	private  String relEntryNo;
	/**
     * 关联报关单收发货人编码
     */
	@XdoSize(max = 10, message = "关联报关单收发货人编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单收发货人编码")
	private  String relEntryReceiveCode;
	/**
     * 关联报关单收发货人社会统一信用代码
     */
	@XdoSize(max = 18, message = "关联报关单收发货人社会统一信用代码长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单收发货人社会统一信用代码")
	private  String relEntryReceiveCreditCode;
	/**
     * 关联报关单收发货人名称
     */
	@XdoSize(max = 50, message = "关联报关单收发货人名称长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单收发货人名称")
	private  String relEntryReceiveName;
	/**
     * 关联报关单消费使用单位编码/关联报关单生产销售单位编码
     */
	@XdoSize(max = 10, message = "关联报关单消费使用单位编码/关联报关单生产销售单位编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单消费使用单位编码/关联报关单生产销售单位编码")
	private  String relEntryTradeCode;
	/**
     * 关联报关单消费使用单位社会信用代码/关联报关单生产销售单位社会信用代码
     */
	@XdoSize(max = 18, message = "关联报关单消费使用单位社会信用代码/关联报关单生产销售单位社会信用代码长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单消费使用单位社会信用代码/关联报关单生产销售单位社会信用代码")
	private  String relEntryTradeCreditCode;
	/**
     * 关联报关单消费使用单位名称/关联报关单生产销售单位名称
     */
	@XdoSize(max = 50, message = "关联报关单消费使用单位名称/关联报关单生产销售单位名称长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联报关单消费使用单位名称/关联报关单生产销售单位名称")
	private  String relEntryTradeName;
	/**
     * 关联核注清单编号
     */
	@XdoSize(max = 18, message = "关联核注清单编号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("关联核注清单编号")
	private  String relListNo;
	/**
     * 申请表编号
     */
	@XdoSize(max = 64, message = "申请表编号长度不能超过64位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("申请表编号")
	private  String rotateApplyNo;
	/**
     * 流转类型
     */
	@XdoSize(max = 1, message = "流转类型长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("流转类型")
	private  String rotateType;
	/**
     * 清单申报人
     */
	@XdoSize(max = 128, message = "清单申报人长度不能超过128位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("清单申报人")
	private  String sendUser;
	/**
     * 报关单统一编号
     */
	@XdoSize(max = 18, message = "报关单统一编号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("报关单统一编号")
	private  String seqNo;
	/**
     * 清单状态
     */
	@ApiModelProperty("清单状态")
	private  String status;
	/**
     * 经营单位编码(商检)
     */
	@XdoSize(max = 10, message = "经营单位编码(商检)长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("经营单位编码(商检)")
	private  String tradeCodeCiq;
	/**
     * 启运国(地区)/运抵国(地区）
     */
	@ApiModelProperty("启运国(地区)/运抵国(地区）")
	private  String tradeCountry;
	/**
     * 监管方式
     */
	@ApiModelProperty("监管方式")
	private  String tradeMode;
	/**
     * 贸易国（地区）
     */
	@ApiModelProperty("贸易国（地区）")
	private  String tradeNation;
	/**
     * 运输方式
     */
	@ApiModelProperty("运输方式")
	private  String trafMode;
	/**
     * 运输工具名称及航次号
     */
	@XdoSize(max = 50, message = "运输工具名称及航次号长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("运输工具名称及航次号")
	private  String trafName;
	/**
     * 成交方式
     */
	@XdoSize(max = 1, message = "成交方式长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("成交方式")
	private  String transMode;
	/**
     * 录入人
     */
	@XdoSize(max = 50, message = "录入人长度不能超过50位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("录入人")
	private  String updateUser;
	/**
     * 航次号
     */
	@XdoSize(max = 32, message = "航次号长度不能超过32位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("航次号")
	private  String voyageNo;
	/**
     * 核扣标志
     */
	@ApiModelProperty("核扣标志")
	private  String vrfdedMark;
	/**
     * 核扣方式代码
     */
	@XdoSize(max = 2, message = "核扣方式代码长度不能超过2位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("核扣方式代码")
	private  String vrfdedMode;
	/**
     * 货物存放点
     */
	@XdoSize(max = 100, message = "货物存放点长度不能超过100位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("货物存放点")
	private  String warehouse;
	/**
     * 包装种类 多个,分割
     */
	@ApiModelProperty("包装种类 多个,分割")
	private  String wrapType;
}
